package twitter

import com.googlecode.avro.annotation._

@AvroRecord
case class user(var contributors_enabled: Option[Boolean],
                var profile_sidebar_fill_color: Option[String],
                var screen_name: Option[String],
                var lang: Option[String],
                var profile_background_tile: Option[Boolean],
                var location: Option[String],
                var following: Option[String],
                var profile_sidebar_border_color: Option[String],
                var verified: Option[Boolean],
                var followers_count: Option[Long],
                var description: Option[String],
                var friends_count: Option[Long],
                var geo_enabled: Option[Boolean],
                var notifications: Option[String],
                var profile_background_color: Option[String],
                var url: Option[String]) {

    var favourites_count: Option[Long] = None
    var profile_text_color: Option[String] = None
    var _protected: Option[Boolean] = None
    var time_zone: Option[String] = None
    var name: Option[String] = None
    var statuses_count: Option[Long] = None
    var profile_link_color: Option[String] = None
    var profile_image_url: Option[String] = None
    var id: Option[Long] = None
    var profile_background_image_url: Option[String] = None
    var utc_offset: Option[Long] = None
    var created_at: Option[String] = None
}

@AvroRecord
case class point(var latitude: Option[Double], 
                 var longitude: Option[Double])

@AvroRecord
case class Tweet(var contributors: Option[String],
                 var text: Option[String],
                 var source: Option[String],
                 var geo: Option[point],
                 var truncated: Option[Boolean],
                 var favorited: Option[Boolean],
                 var user: Option[user],
                 var in_reply_to_user_id: Option[Long],
                 var in_reply_to_status_id: Option[Long],
                 var id: Option[Long],
                 var in_reply_to_screen_name: Option[String],
                 var created_at: Option[String])
